package com.youlu.campus.service.organizer;

import com.youlu.campus.entity.ActivityOrganizerInfo;
import com.youlu.campus.entity.UserPO;
import com.youlu.campus.entity.VO.req.ActivityOrganizeBatchVerify;
import com.youlu.campus.entity.VO.req.ActivityOrganizerBaseInfo;
import com.youlu.campus.entity.VO.req.ActivityOrganizerQueryVO;
import org.springframework.data.domain.Page;

import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.List;

public interface ActivityOrganizerInfoService {

    Page<ActivityOrganizerInfo> list(ActivityOrganizerQueryVO req);

    boolean create(ActivityOrganizerInfo req);

    boolean update(ActivityOrganizerInfo req);

    boolean batchVerify(ActivityOrganizeBatchVerify req);

    ActivityOrganizerInfo findOne(String id);

    /**
     * 获取承办单位基础信息
     *
     * @param activityId
     * @param userPO
     * @return
     */
    ActivityOrganizerBaseInfo getBaseInfo(String activityId, UserPO userPO);


    ActivityOrganizerInfo find(String activityId, String userId);

    /**
     * 加入组织
     *
     * @param userId
     * @param organizerId
     * @return
     */
    boolean joinOrganizer(String tenantId, String userId, String organizerId);

    /**
     * 获取组织Id
     *
     * @param tenantId
     * @param userId
     * @return
     */
    String getOrganizerId(String tenantId, String userId);

    /**
     * 导出组织机构信息
     *
     * @param activityId
     * @return
     */
    boolean export(String activityId, String taskId, String optName, String userId);


    HashMap<String, ActivityOrganizerInfo> findByIds(List<String> orgIds);
}
